#ifndef _CONTROL_H
#define _CONTROL_H

#include <list>
#include "action.h"
#include "controllable.h"

class Control
{
  public:
    Control();
    Control(Controllable* c);
    ~Control();

    void clear();
    void addAction(Action* action);
    void delAction(Action* action);

    void logicTick();

    void setControllable(Controllable *c);

  protected:
    Controllable* m_controlled;

    typedef std::list<Action*> actionList;
    typedef actionList::iterator actionIt;

    actionList m_actions;
};

#endif
